package com.lmc.base.demo.ai.model.controller;

import com.alibaba.cloud.ai.tongyi.chat.TongYiChatModel;
import io.qifan.ai.dashscope.DashScopeAiChatModel;
import jakarta.annotation.Resource;
import org.springframework.ai.chat.client.ChatClient;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;

/**
 * @author lmc
 * @Description: TODO
 * @Create 2024-08-14 21:50
 * @version: 1.0
 */
@RestController
public class ModelController {

    @Resource
    private TongYiChatModel tongyiChatModel;



    /**
     * 非流式问答
     *
     * @param prompt 用户提问
     * @return org.springframework.ai.chat.model.ChatResponse
     */
    @GetMapping("chat")
    public String chat(@RequestParam String prompt) {
        return ChatClient.create(tongyiChatModel).prompt()
                // 输入单条提示词
                .user(prompt)
                // call代表非流式问答，返回的结果可以是ChatResponse，也可以是Entity（转成java类型），也可以是字符串直接提取回答结果。
                .call()
                .content();
    }

}
